﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BL;
using DA;

namespace QL_KhachHang
{
    public partial class frmKhachHang : Form
    {
        public frmKhachHang()
        {
            InitializeComponent();
        }
        KhachHang_BL KH = new KhachHang_BL();
        bool ktso;

        private void frmKhachHang_Load(object sender, EventArgs e)
        {
            LoadDSKH();
        }

        private void LoadDSKH()
        {
            listView1.Items.Clear();
            foreach (var item in KH.LayAllDSKhachHang())
            {
                ListViewItem xuat = new ListViewItem(item.MaKH);
                xuat.SubItems.Add(item.TenKH);
                xuat.SubItems.Add(item.LoaiKhach);
                xuat.SubItems.Add(item.GioiTinh);
                xuat.SubItems.Add(item.NgaySinh.ToString());
                xuat.SubItems.Add(item.CMND);
                xuat.SubItems.Add(item.NgayTao.ToString());
                xuat.SubItems.Add(item.DiaChi);
                listView1.Items.Add(xuat);
            }
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            KhachHang n = new KhachHang();
            n.MaKH = txtMaKH.Text;
            n.TenKH = txtTenKH.Text;
            string lk = "";
            if (rbNoiDia.Checked == true)
            {
                lk = rbNoiDia.Text;
            }
            else
            {
                lk = rbNuocNgoai.Text;
            }
            n.LoaiKhach = lk;
            string gt = "";
            if (rdbNam.Checked == true)
	        {
                gt = rdbNam.Text;
	        }
            else
            {
                gt = rdbNu.Text;
            }
            n.GioiTinh = gt;
            n.NgaySinh = DateTime.Parse(dtpNgaySinh.Text);
            n.CMND = txtCMND.Text;
            n.NgayTao = DateTime.Parse(dtpNgayTao.Text);
            n.DiaChi = txtDiaChi.Text;
            if (KH.Them1KhachHang(n) == true)
            {
                MessageBox.Show("Thêm khách hàng thành công !! ");
                LoadDSKH();
            }
            else
            {
                MessageBox.Show("Thêm không được lỗi rồi. Mời xem lại !! ");
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult h = MessageBox.Show("Bạn muốn xóa không?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            if (DialogResult.OK == h)
            {
                if (KH.Xoa1KhachHang(txtMaKH.Text) == true)
                {
                    MessageBox.Show("Xóa thành công nhân viên " + txtMaKH.Text);
                    LoadDSKH();
                }
                else
                    MessageBox.Show("Lỗi ko xóa được.Vui lòng kiểm tra lại");
            }
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            KhachHang n = new KhachHang();
            n.MaKH = txtMaKH.Text;
            n.TenKH = txtTenKH.Text;
            string lk = "";
            if (rbNoiDia.Checked == true)
            {
                lk = rbNoiDia.Text;
            }
            else
            {
                lk = rbNuocNgoai.Text;
            }
            n.LoaiKhach = lk;
            string gt = "";
            if (rdbNam.Checked == true)
            {
                gt = rdbNam.Text;
            }
            else
            {
                gt = rdbNu.Text;
            }
            n.GioiTinh = gt;
            n.NgaySinh = DateTime.Parse(dtpNgaySinh.Text);
            n.CMND = txtCMND.Text;
            n.NgayTao = DateTime.Parse(dtpNgayTao.Text);
            n.DiaChi = txtDiaChi.Text;
            if (KH.Sua1KhachHang(n) == true)
            {
                MessageBox.Show("Sữa khách hàng thành công !! ");
                LoadDSKH();
            }
            else
            {
                MessageBox.Show("Sữa không được lỗi rồi. Mời xem lại !! ");
            }
        }

        private void btTim_Click(object sender, EventArgs e)
        {
            if (rbTimMa.Checked == true)
            {
                listView1.Items.Clear();
                foreach (var item in KH.TimKHTheoMa(txtTim.Text))
                {
                    ListViewItem xuat = new ListViewItem(item.MaKH);
                    xuat.SubItems.Add(item.TenKH);
                    xuat.SubItems.Add(item.LoaiKhach);
                    xuat.SubItems.Add(item.GioiTinh);
                    xuat.SubItems.Add(item.NgaySinh.ToString());
                    xuat.SubItems.Add(item.CMND);
                    xuat.SubItems.Add(item.NgayTao.ToString());
                    xuat.SubItems.Add(item.DiaChi);
                    listView1.Items.Add(xuat);
                }
            }
            else
            {
                listView1.Items.Clear();
                foreach (var item in KH.TimKHTheoTen(txtTim.Text))
                {
                    ListViewItem xuat = new ListViewItem(item.MaKH);
                    xuat.SubItems.Add(item.TenKH);
                    xuat.SubItems.Add(item.LoaiKhach);
                    xuat.SubItems.Add(item.GioiTinh);
                    xuat.SubItems.Add(item.NgaySinh.ToString());
                    xuat.SubItems.Add(item.CMND);
                    xuat.SubItems.Add(item.NgayTao.ToString());
                    xuat.SubItems.Add(item.DiaChi);
                    listView1.Items.Add(xuat);
                }
            }
        }

        private void btThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtCMND_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!ktso)
            {
                e.Handled = true;
                MessageBox.Show("Số CMND phải là số");
            }
        }

        private void listView1_MouseClick(object sender, MouseEventArgs e)
        {
            try
            {
                txtMaKH.Text = listView1.FocusedItem.SubItems[0].Text;
                txtTenKH.Text = listView1.FocusedItem.SubItems[1].Text;
                string lk = listView1.FocusedItem.SubItems[2].Text;
                if (lk == "Nội Địa")
                    rbNoiDia.Checked = true;
                else
                    rbNuocNgoai.Checked = true;
                string gt = listView1.FocusedItem.SubItems[3].Text;
                if (gt == "Nam")
                    rdbNam.Checked = true;
                else
                    rdbNu.Checked = true;
                dtpNgaySinh.Text = listView1.FocusedItem.SubItems[4].Text;
                txtCMND.Text = listView1.FocusedItem.SubItems[5].Text;
                dtpNgayTao.Text = listView1.FocusedItem.SubItems[6].Text;
                txtDiaChi.Text = listView1.FocusedItem.SubItems[7].Text;
            }
            catch
            { }
        }

        private void txtCMND_KeyDown(object sender, KeyEventArgs e)
        {
            ktso = true;
            if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)

                if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)

                    if (e.KeyCode != Keys.Back)

                        ktso = false;
        }
    }
}
